package owg.util.opengl.jogamp;

import java.awt.geom.Rectangle2D;

import owg.util.opengl.EGL;
import owg.util.opengl.GLFont.ColorProducer;

public interface TextRasterizer {
    /**Set whether to use filtering on the text*/
    void setSmoothing(boolean b);
    /**Sets the color generator. This makes it possible to render multi-colored text.*/
    void setColorProducer(ColorProducer p);
    /**Call to begin rendering text*/
    void begin3DRendering();
    /**Call between begin and end to render the string at the given location*/
    void draw3D(String str, int lineNo, float x, float y, float z, float scaleFactor);
    /**Call to stop rendering text*/
    void end3DRendering();
    
    /**Get the bounds for drawing the indicated string with the current font*/
    Rectangle2D getBounds(String string);
    /**Get the width of the indicated character for the current font*/
    float getCharWidth(char c);
    /**Returns the EGL that the rasterizer was created on*/
	EGL<?> getEGL();
}
